Hallo Peter,
wie du vielleicht weißt, erstelle ich die Abbuc Magazindiskette. Dein Spiel "Battle of Eris" habe ich zusammen mit vielen anderen Spielen auf eine Diskette kopiert. Da es eine Startadresse von $1000 hat, läuft es nicht unter DOS 2.x, weil es aber einen Highscore speichert läuft es auch nicht mit einem Gamedos. Du hast uDOS dafür benutzt.
Normalerweise liegt uDOS in den drei Bootsektoren einer Diskette, da ich aber noch viele weitere Spiele auf der Disk unterbringen muss, habe ich eine COMfile version von uDOS benutzt und diese dann einfach mit dem GameDOS NanoDOS geladen. Soweit so gut, dein Spiel lässt sich laden, es lädt und speichert auch den Highscore...
Zweimal habe ich es geschafft mich in den Highscore einzutragen, der Highscore wurde gespeichert und danach war jedesmal die Diskette "zerschossen". Das heißt, es wurden zwar noch die freien Sektoren, jedoch keinerlei Dateien mehr angezeigt und ich musste jedesmal die Diskette reparieren. Das will ich den Abbucianern natürlich nicht zumuten und so habe ich jetzt mal behelfsmäßig eine Version erstellt, die keine Highscore mehr speichern kann. (Code3 Cruncher zum packen verwendet, der lässt nach dem entpacken kein speichern mehr zu, NanoDOS direkt [ohne uDOS] verwendet, dies lädt nur Dateien und lässt auch kein speichern zu).
Auf diese Weise wird die Diskette nicht mehr zerschossen, aber man kann halt auch keine Highscore mehr abspeichern (das Programm versucht es zwar, es geht aber nicht). Natürlich ist das unbefriedigend, daher meine Fragen an dich:
1) Das Programm nutzt $1000-9FDA, RUN $6033; wird auch eine der Pages 1, 4, 5 oder 6 benutzt, ohne dass man das direkt sieht ? (Habe für den Packer Page 4 und 5 benutzt, das könnte dann ein Problem sein.)
2) Ist es nicht möglich das Programm $1000 höher zu schieben, also nach $2000-AFDA, RUN $7033 ? Dann würde es unter DOS 2.x laufen und man benötigt kein uDOS...
3) Wäre es möglich die Highscore nicht in eine Datei, sondern einfach in Sektor 720 ($2D0) zu speichern? Bei DOS 2.0s, DOS 2.5, DOS 2.0D und einigen anderen DOS 2.x ist dieser Sektor stets ungenutzt.
Ansonsten werde ich mal weiter nachforschen, warum dein Spiel bei mir stets die Diskette zerschießt, wenn es den Highscore speichert. Wenn ich aber keine Lösung finde, dann kann es durchaus sein, dass ich das Spiel in der von mir geänderten Version releasen muss - bei der eben keine Highscore gespeichert wird.
Gruß, Andreas Koch
P.S.: Ich muss dringend Platz sparen, die Programme des Wettbewerbs 2022 belegen ganze 6 Diskseiten. Dadurch muss ich mehrere Spiele auf einer Diskseite unterbringen und alles packen, was nur geht (ungepackte Länge von Battle of Eris ca. 295 Sektoren, gepackt mit Code3 Cruncher ca. 97 Sektoren - kein speichern mehr möglich, gepackt mit Exomizer ca. 81 Sektoren - speichern weiterhin möglich aber buggy).